// packageA/pages/downloadExcel/downloadExcel.js
const app = getApp();
import Toast from '../../../miniprogram_npm/@vant/weapp/toast/toast';
const util = require('../../../utils/util');

Page({
  /**
   * 页面的初始数据
   */
  data: {
    //开始时间
    startTimeStr:'请选择开始日期',
    //结束时间
    endTimeStr:'请选择结束日期',
    //开始时间选择框
    showStartTime:false,
    //结束时间选择框
    showEndTime:false,
    //当前时间
    currentStart: new Date().getTime(),
    currentEnd: new Date().getTime(),
    //最小时间
    minDate2:null,
    //最大时间
    maxDate1: new Date().getTime(),
    maxDate2: new Date().getTime(),
    //时间格式
    formatter (type, value) {
      if (type === 'year') {
        return `${value}年`
      } else if (type === 'month') {
        return `${value}月`
      } else if (type === 'day') {
        return `${value}日`
      } else if (type === 'hour') {
        return `${value}时`
      } else if (type === 'minute') {
        return `${value}分`
      } else if (type === 'second') {
        return `${value}秒`
      }
      return value
    },
    //是否显示表单，区分pc端和手机端
    showForm: true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //判断打开平台，如果是pc端则禁用
    try {
      const res = wx.getSystemInfoSync()      
      if(res.platform=='windows'){
        this.setData({
          showForm: false
        })
      }
    } catch (e) {      
    }
  },

  //导出
  onDownload(){
    Toast.loading({
      duration: 0,
      forbidClick: true,
      message: '加载中...'
    });

    let startTime=this.data.startTimeStr;
    let endTime=this.data.endTimeStr;
    let goUrl=app.globalData.goDataReport;
    let dObj = app.globalData.userInfo.departObj[0];
    let depart = dObj.id;
   
    let isLongforReport = false;
    if(dObj.dataAuthority.depart.indexOf(100040)!= -1){
      isLongforReport = true;
    }

    if(startTime!='请选择开始日期' && endTime!='请选择结束日期'){
      let starts = startTime;
      let ends = endTime;

      wx.downloadFile({
        header: {
          'Content-Type': "application/json;charset=UTF-8",
          'Authorization': 'Bearer ' + app.globalData.loginToken,
        },
        url: goUrl+'statistics/equipmentStatisticsWatch?beginDate='+starts+'&endDate='+ends+'&depart='+depart+'&isLongforReport='+isLongforReport,
        success: function (res) {
          if(res.statusCode==200){
            Toast.clear();
            const filePath = res.tempFilePath;            
            wx.openDocument({
              filePath: filePath,
              showMenu:true,
              success: function (res) {
              },
              fail:function(){
                Toast.fail('操作失败');
              }
            })
          }else{
            Toast.fail('暂无可导出数据');
          }
        },
        fail:function(){
          Toast.fail('操作失败');
        }
      })

    }else{
      Toast.fail('请选择日期');
    }
  },

  //显示开始时间
  onShowStartTime(){
    this.setData({
			showStartTime: true
    })
  },

  //隐藏开始时间
  onCloseStartTime(){
    this.setData({
			showStartTime: false
    })
  },

  //确认开始时间
  onConfirmStartTime(e) {
    this.setData({
      currentStart: e.detail,
      minDate2:e.detail,
      startTimeStr:util.timeFormatDay(e.detail)
    })
    this.onCloseStartTime();
  },

  //显示结束时间
  onShowEndTime(){
    this.setData({
			showEndTime: true
    })
  },

  //隐藏结束时间
  onCloseEndTime(){
    this.setData({
			showEndTime: false
    })
  },

  //确认结束时间
  onConfirmEndTime(e) {
    this.setData({
      currentEnd: e.detail,
      maxDate1:e.detail,
      endTimeStr:util.timeFormatDay(e.detail)
    })
    this.onCloseEndTime();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  }
})
